package com.example.blog.module.service;

import com.example.blog.module.entity.Article;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.blog.module.entity.PageParams;
import com.example.blog.module.entity.VO.ArticleParam;
import com.example.blog.module.entity.VO.ArticleVo;
import com.example.blog.module.entity.VO.Result;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zjx
 * @since 2022-11-22
 */
public interface ArticleService extends IService<Article> {

    /**
     * 分页查询文章列表
     * @param pageParams
     * @return
     */
    Result listArticle(PageParams pageParams);

    /**
     * 最热文章
     * @param limit
     * @return
     */
    Result hotArticle(int limit);

    /**
     * 最新文章
     * @param limit
     * @return
     */
    Result newArticles(int limit);

    /**
     * 查看文章详情
     * @param articleId
     * @return
     */
    Result findArticleById(Long articleId);

    /**
     * 文章发布服务
     * @param articleParam
     * @return
     */
    Result publish(ArticleParam articleParam);


    /**
     * 个人文章归档
     * @return
     */
    Result personArchives();

    /**
     *
     * @param articleParam
     * @return
     */
    Result updateById(ArticleParam articleParam);

}
